#!/bin/sh

filename=$1
keyname=$2
oldval=$3
newval=$4

: ${oldval:=""}
: ${newval:=""}
if [ ${newval:-""} == "" ]
then
  newval=${oldval}
  oldval=""
fi

if [ -f $filename ]
then
  if [ ${keyname:-""} != "" ]
  then
    cat $filename | awk -vkeyname="$keyname" -voldval="$oldval" -vnewval="$newval" -F= '
      BEGIN {
        propChanged=0
      }
      $1 !~ keyname { print $0 }
      $1 ~ keyname { 
        if (oldval == "") {
          oldval=$2
        }
        gsub(oldval, newval, $2); 
        print $1"="$2 
        propChanged=1
      }
      END {
        if (propChanged == 0) {
          print keyname"="newval
        }
      }
    ' > $filename".new"
    mv -f $filename".new" $filename
    chown svcagent $filename
    exit 0;
  fi
else
  echo ""
  echo "$filename does not exist"
fi

# show help information
echo ""
echo "The script changes the old_value with"
echo "the new_value of the given key_name property"
echo "-------------------------------------------------------"
echo "copyright: (C)Copyright IBM Corp. 1998"
echo "author   : Stanimir Stanev - stanley_stanev@yahoo.com"
echo "version  : 1.0 - May 21, 2001"
echo "-------------------------------------------------------"
echo "usage: $0 file_name key_name [old_value] new_value"
echo ""
exit 1;
